#include "Exception.h"

namespace HenkoCppLib
{

	const char* NotSupportedException::what() const throw() {
		return "This operation is not supported!";
	}

	const char* ReadOnlyException::what() const throw() {
		return "This value is read only. You cannot modify it!";
	}

	const char* InvalidPointerException::what() const throw() {
		return "The pointer is invalid. It cannot be used at the moment.";
	}

	OutOfBoundsException::OutOfBoundsException(int value, int lowbound, int highbound)
	{
		this->value = value;
		this->lowbound = lowbound;
		this->highbound = highbound;
	}

	const char* OutOfBoundsException::what() const throw() {
		return "The given value is out of the allowed bounds!";
	}

	InvalidValueException::InvalidValueException(int value)
	{
		this->value = value;
	}

	const char* InvalidValueException::what() const throw() {
		return "The given value is invalid in the current context!";
	}

	const char* InvalidValuesException::what() const throw() {
		return "The given values are invalid in the current context!";
	}
}
